6.10. Руководство по работе с ключевыми словами.¶
Ключевые слова используются в настройках сайдбара и позволяют заменять в приложении ключевое слово на значение ключевого слова. Например, при добавлении пользователем ключевого слова $CURRENT_USER$ в настройки сайдбара в приложении значение ключевого слова будет отображаться как текущий пользователь (Иван Иванов при входе в Систему под логином/паролем Ивана Иванова).
6.10.1. Ключевые слова по умолчанию.¶
Ключевые слова для даты и времени.
В Системе реализована отдельная категория ключевых слов для даты и времени. При разрешении всех значений даты и времени (например, в одном запросе, в одном выражении) обеспечено формирование значения на основе одной и той же временной отметки. Например, $DATE$ и $DAY_AGO$ будут иметь одно и тоже значение часов, минут, секунд и миллисекунд. Следует обратить внимание, что отсчёт от единой временной отметки не будет соблюдаться при последовательном вызове разных значений по отдельности (используя метод getValue плагина $kw).
Ключевые слова для даты и времени.
- $DATE$ - Дата.
- $DATE_MS$ - Дата в миллисекундах.
- $HOUR_START$ - Начало текущего часа в формате ISO.
- $HOUR_START_MS$ - Начало текущего часа в миллисекундах.
- $DAY_START$ - Начало дня.
- $DAY_START_MS$ - Начало дня в миллисекундах.
- $DAY_AGO$ - День назад.
- $DAY_AGO_MS$ - День назад в миллисекундах.
- $WEEK_START$ -Начало недели.
- $WEEK_START_MS$ - Начало недели в миллисекундах.
- $MONTH_START$ - Начало месяца.
- $MONTH_START_MS$ - Начало месяца в миллисекундах.
Ключевые слова контекста.
Ключевые слова контекста получают значения из свойств контекста приложения и имеют префикс CTX (за исключением ключевых слов $SYSTEM_USER$ и $SYSTEM_USER_SN$, которые имеют такие имена традиционно). Сейчас доступны следующие ключевые слова свойств контекста:
$CTX_PAGE_TYPE$ - тип страницы (например, catalog, form). Допустимые типы описаны ниже.
«login» - на странице входа в Систему.
«home» - на домашней странице (/home).
«catalog» - на странице каталога услуг (/catalog).
«console» - на странице консоли (/console/).
«form» - на странице формы (/form/).
«dashboard» - на странице инструментальной панели (/dashboard/).
«form-editor» - на странице редактирования формы (в режиме администратора, /admin/forms/).
«undefined» - на странице, которая отсутствует в вышеприведённом списке.
$CTX_ENTITY_ID$ - ID текущей записи (если форма - записи схемы, если консоль - ID консоли и т.д.).
$CTX_IS_ADMIN$ - Признак, является ли пользователь администратором (true/false).
$CTX_LOCALE$ - Код текущей локали (например, en, ru).
$CTX_IS_MOBILE$ - Признак, запущено ли приложение на мобильном устройстве (true/false).
$CTX_IS_TABLET$ - Признак, запущено ли приложение на планшете (true/false).
$CTX_IS_DESKTOP$ - Признак, запущено ли приложение на устройстве с большим монитором (компьютер, ноутбук) (true/false).
$SYSTEM_USER$ - Логин пользователя, вошедшего в Систему.
$SYSTEM_USER_SN$ - Информация из свойства SN записи пользователя (например, «Иван Иванов»).
Ключевые слова формы.
Ключевые слова формы доступны только если приложение находится на странице формы, в ином случае на любое значение ключевого слова формы будет возвращена пустая строка.
Ключевое слово формы состоит из префикса FORM и идентификатора поля формы, значение из которого будет являться значением этого ключевого слова. Например, в форме инцидентов /form/schm001_form_0001/INC000000004051 следующие ключевые слова будут иметь соответствующие значения:
{ $FORM_in_003_004$: «TEST INCIDENT Bob Baxter Устранение неполадок подключения к сети в браузере Internet Explorer «, $FORM_0e82c9ff-74c2-3154-8be0-5e36c88dcf27$: «1114 Eighth Avenue, 31st Floor.» }
6.10.2. Использование ключевых слов в Системе.¶
6.10.2.1. Использование ключевых слов в сайдбарах.¶
Использование ключевых слов в сайдбарах зависит от типа группы сайдбара, в которой планируется использование ключевых слов.
Тип группы URL.
В данном типе формат ввода выглядит следующим образом: /$Ключевое_слово$. Например, /$MY_REGARDS$ (Рис. 6.10.1).
Тип группы link.
В данном типе формат ввода выглядит следующим образом: «/$Ключевое_слово$». Например, «/$MY_REGARDS$» (Рис. 6.10.2).
Тип группы page.
В данном типе формат ввода выглядит аналогично формату ввода в поле с типом URL: /$Ключевое_слово$. Например, /$MY_REGARDS$ (Рис. 6.10.3).
Тип группы custom.
В типе custom формат ввода выглядит следующим образом: «/$Ключевое_слово$». Например, «/$MY_REGARDS$» (Рис. 6.10.4).
6.10.2.2. Использование ключевых слов в Каталоге услуг.¶
В Каталоге услуг ключевые слова используются при построении строки URL в карточке услуги (Рис. 6.10.5).
В качестве примера можно привести строку URL
http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To={{ new Date($DAY_AGO_MS$).toLocaleDateString() }}
Услуга открывает страницу Банка России с курсом валют на дату «Вчера».
Внутри описано JavaScript-выражение, которое будет вычислено и вместо него подставится результат вычисления.
Внутри выражения используется ключевое слово $DAY_AGO_MS$, определяющее дату, предшествующую дате «Сегодня». При обработке выражения сначала будут заменены ключевые слова в выражении, а потом произойдёт вычисление.
Так же возможно «прямое» использование ключевого слова, вне JavaScript-выражения (Рис. 6.10.7).
Так, в строке URL
http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To=$PROG$
используется ключевое слово $PROG$, определяющее дату, предшествующую дате «Сегодня» на три дня.
Преобразуется ключевое слово в элемент строки URL в карточке каталога при переходе по URL.
6.10.2.3. Использование ключевых слов при заполнении значений формы.¶
Ключевые слова возможно использовать при заполнении значений полей формы. Ключевое слово на форме можно применить в любом поле текстового ввода.
Пример использования Ключевых слов при заполнении значений полей формы представлен ниже (Рис. 6.10.8):
Здесь в поле «Содержание» использовано ключевое слово $SYSTEM_USER_SN$ во фразе «Описание инцидента. Автор: $SYSTEM_USER_SN$». После сохранения формы и обновления данных в поле «Содержание» будет фраза «Описание инцидента. Автор: Иван Иванов». То есть, ключевое слово при сохранении будет заменено его значением.